home *** CD-ROM | disk | FTP | other *** search
- /* Ultra.h -- This header file is an essential component of Ultra. */
-
- /***** WARNING! *************** WARNING! *************** WARNING! ******
-
- You MUST call Ultra_Init() before using Ultra! Also, you MUST read in
- non-zero values for Ultra_seed1 and Ultra_seed2 BEFORE calling
- Ultra_Init(). Ultra_Init() ends by calling Ultra_SaveStart(). */
-
- extern unsigned long Ultra_seed1,Ultra_seed2;
-
- extern void Ultra_Init();
-
- /**********************************************************************/
-
- /******* Function Return value *************/
-
- extern long Ultra_long32(); /* U[-2147483648,2147483647] */
- extern long Ultra_long31(); /* U[0,2147483647] */
-
- extern int Ultra_int16(); /* U[-32768,32767] */
- extern int Ultra_int15(); /* U[0,32767] */
-
- extern int Ultra_int8(); /* (int) U[-128,127] */
- extern int Ultra_int8u(); /* (int) U[0,255] */
- extern int Ultra_int7(); /* (int) U[0,127] */
-
- extern int Ultra_int1(); /* (int) U[0,1] */
-
- extern float Ultra_uni(); /* U(0,1) with ≥ 25-bit mantissa */
- extern float Ultra_vni(); /* U(-1,1) but excluding zero */
-
- extern double Ultra_duni(); /* U[0,1) with ≤ 63-bit mantissa */
- extern double Ultra_dvni(); /* U(-1,1) with ≤ 63-bit mantissa */
-
- extern float Ultra_norm(float mu,float sigma); /* Normal(mean,std. dev.) */
- extern float Ultra_expo(float mu); /* Exponential(mean > 0) */
-
- /**********************************************************************/
-
- /* The following functions and structure are provided in order to allow you
- to reproduce a sequence of random numbers, eg., for duplicating a Monte Carlo
- simulation exactly. Ultra_Init() must be called BEFORE either of these two
- functions. */
-
- extern void Ultra_SaveStart();
- extern void Ultra_RecallStart();
-
- /* Ultra_Remember is really a non-long structure of 324 bytes. It is shown
- here to facilitate saving to a file and restoring at a later date. */
-
- extern unsigned long Ultra_Remember[81];
-
- #define UltraSize (size_t)4
- #define UltraLength (size_t)81
-